Mobile end devices in the form of smartphones are increasingly being used to carry out digital transactions, for example for cashless payments at a NFC terminal or for the purchase of goods or services from an online retailer. When carrying out such a digital transaction, as a rule a software application implemented on the smartphone (briefly called “app”) interacts with a terminal or server. For this, a cryptographic algorithm, e.g. an encryption algorithm, is frequently part of the software application implemented on the mobile end device, with said software application accessing security-critical data, e.g. PINs, passwords, keys etc. In the past, security-critical data has as a rule been deposited on a stand-alone security element of the mobile end device, frequently in the form of a SIM card removable from the mobile end device, to protect it from an attack by an unauthorized person.
A newer approach, which can be employed advantageously in particular when carrying out digital transactions with a mobile end device which has no stand-alone security element for securely storing security-critical data, is based on the so-called white box cryptography. What is attempted in a white-box implementation of a cryptographic algorithm is to hide the security-critical data, in particular secret cryptographic keys, in the implementation such that an attacker who has full access to the implementation is unable to extract the security-critical data therefrom. A white-box implementation of the AES crypto-algorithm (“Advanced Encryption Standard”) is known, for example, from the publication “A Tutorial on White-box AES” by James A. Muir, Cryptology ePrint Archive, Report 2013/104. Likewise, white-box implementations of cryptographic algorithms or routines are distributed commercially.
It is an object of the invention to provide methods, on the one hand for testing, and on the other hand for hardening software applications for carrying out digital transactions which comprise a white-box implementation of a cryptographic algorithm.